﻿using System;
using System.Linq;
using System.Windows.Forms;
using Business;
using Business.Entity.Vendas.MovimentacaoCaixa;
using Business.Entity.Vendas.MovimentacaoCaixa.SubClass.Suprimento;
using Business.Entity.Vendas.Pedido.ClassesRelacionadas;
using Business.Forms;
using Ecf;

namespace Vendas.Forms
{
    public partial class FormSuprimento : FormDefault
    {
        public FormSuprimento()
        {
            InitializeComponent();
            formaPagamentoBindingSource.DataSource = MovimentacaoCaixaRepository
                .GetSession().CreateCriteria<FormaPagamento>().List<FormaPagamento>()
                .Where(pagamento => pagamento.AVista);
            suprimentoBindingSource.DataSource = new Suprimento();
        }

        private void cmdCancelar_Click(object sender, EventArgs e)
        {
            Close();
        }

        private void FormSuprimento_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
        {
            switch (e.KeyData)
            {
                case Keys.F5:
                    Salvar();
                    break;
                case Keys.Escape:
                    Close();
                    break;
            }
        }
        private void Salvar()
        {
            var s = (Suprimento)suprimentoBindingSource.DataSource;
            EcfHelper.GetEcf().Suprimento(s.Valor, s.Historico);
            s.Usuario = Utils.UsuarioAtual;
            s.Caixa = Utils.Terminal.ConfiguracaoEcf.Caixa;
            SuprimentoRepository.Save(s);
            Close();
        }

        private void cmdSalvar_Click(object sender, EventArgs e)
        {
            Salvar();
        }
    }
}